Google Cloud:権限管理に最適なPrivileged Access Manager(PAM)が機能追加されたので検証してみた

Google Cloud:権限管理に最適なPrivileged Access Manager(PAM)が機能追加されたので検証してみた

PAMは特権レベルのIAMロールの付与を適切に使用するために必須であり、これによりセキュアな権限分掌を実現することができます。
Clock Icon2024.09.09

Privileged Access Manager(PAM)とは

概要

特権管理者権限を一時的に許可する仕組みを提供するのがPAMになります。

例えば、一時的にオーナーロール組織管理者ロールなど普段使いのユーザーには付与しない方が好ましいロールを使う場合に便利な機能です。

スクリーンショット 2024-07-09 9.21.35

結局はGoogle Cloudのセキュリティを高めるための機能となりますので、なるべくセキュリティホールを潰していきたい本番環境には必須のサービスかと思います。

使用例

もし、放置されたオーナーロールが付与されていたIAMユーザーがハックされた場合、そのプロジェクトのリソースほぼ全てにアクセスできてしまいます。

オーナーロールでなくても、他のユーザーの権限を変更できるロールを持つアカウントをハックされてしまっても同様です。この場合、アカウントや環境への横展開の侵害が起こり、組織全体に影響が及ぶおそれがあります。

また、プロジェクト単体のみであれば、最低限のインシデントで済みますが、組織自体の管理者権限を奪われてしまうと、そのドメイン配下のプロジェクトは全て乗っ取られるため、最新の注意を払ったアカウント設計が求められます。

その中で、PAMのジャストインタイム特権アクセス機能を利用することで、最小権限の原則が保たれ、信頼された運用に近づきます。(まだプレビュー機能なので本番環境での使用は推奨されていません)

PAMを実践する

権限付与の流れ

ロールを実際に使用するユーザーとロールの使用を許可するユーザーが存在します。

スクリーンショット 2024-09-09 9.53.31

PAMの設定を始める前にまずは必要な権限を確認することから始めます。PAMを利用するには、対象のプロジェクトや組織に対して適切な権限が必要です。
事項からはPAMの設定に必要な権限の付与から解説していきます。

権限の確認

まず、そのプロジェクトでPAMを利用するには、以下の画像にあるような権限が必要です。
スクリーンショット 2024-07-04 17.13.54

ということで、今回はジャストジャストインタイム特権アクセスをリクエストするユーザーにセキュリティ管理者ロールと特権アクセス管理者ロール付与していきます。
Google Cloud

実際にPAMとコンソールで検索し、画面遷移します。ジャストインタイムアクセスのルールを作成していきます。
PAMのコンソール画面でCreateを押下します。
スクリーンショット 2024-07-05 9.44.21

ポップアップが開くのでルールの名前と付与したいロール、そして時間を指定していきます。
※コンソールからは1時間〜24時間での指定ができます。
スクリーンショット 2024-07-05 9.45.45

リクエストを行うユーザーを指定します。(ジャストインタイムアクセスをするユーザーです)
スクリーンショット 2024-07-05 9.47.09

続いて承認者を追加します。(承認者とはPAMの許可リクエストに対して承認するユーザーです)
スクリーンショット 2024-07-05 9.47.34

通知先のメールアドレスを入力します。
それぞれ、認証待ちの時点、認証された時点、権限が使用できる状態、などでメールが送信されます。
スクリーンショット 2024-07-05 9.49.52

コンソール画面に戻り、ジャストインタイムアクセスを利用するリクエストユーザーで権限付与をリクエストしてみましょう。
PAM

すると以下のような画面が開くので、使用時間正当な理由を入力して、リクエストを完了させます。
スクリーンショット 2024-07-05 9.56.56

次は、承認者ユーザーのコンソール画面でアクセスを許可してみます。
スクリーンショット 2024-07-05 9.58.31

また同じようなポップアップ画面が開くので、正当な理由を入力して、許可していきましょう。
※ ちなみに正当な理由の入力は承認者、リクエストユーザーともに追加オプションです。
スクリーンショット 2024-07-05 9.59.06

許可されたので、リクエストユーザーの画面に戻るとActiveとなり、BigQueryユーザーロールを使用できるようになっています。(30分の時限性
スクリーンショット 2024-07-05 10.00.43

ちなみに、承認者リクエストユーザー確認者の全てにメール通知を設定した場合、それぞれにメールが届きます。
以下はリクエストユーザーへのメール通知の例です。Approve or deny grantを押下し、許可 or 拒否してください。
スクリーンショット 2024-07-05 10.43.38

まとめ

AzureにもEntra IDと連携させて時限性で権限の付与を実現させるPIMという仕組みが存在します。
今回、Google Cloudもプレビュー機能にはなりますがPAMが実装されたことにより、IAM権限のセキュリティが強化され、より一層エンタープライズ層向けのクラウドサービスに進化したと思います。

そして、IAM権限周りはどうしても意識しなければ置きっぱなしになりがちなリソースなので、月に1度のタイミングなどで棚卸しもすると、予期せぬインシデントを回避できると思います。

筋肉もPAM的思考でパンプアップ

特権アクセスは一時的に高い権限をユーザーに割り当てて、権限分掌を適切に管理する仕組みです。
これはセキュリティの基盤を担う仕組みと言っても過言ではありません。

筋肉は身体セキュリティ機能を高めるのにかなり有効なのは周知の事実ですが(ホルモン分泌による精神安定や病気の予防による効果)、
今回紹介したPAMのジャストインタイム特権アクセスに合わせた形でおすすめのトレーニングを紹介すると、それはインターバルトレーニングとなります。

スクリーンショット 2024-09-09 9.44.30

HIITとも呼ばれるこのトレーニング方法は、必要な時だけ高強度の運動という権限を与え、休憩時間は最小限の数十秒という短い時間に設定することにより、体脂肪燃焼率を高めてくれます。(20秒高強度トレーニング → 10秒休憩 を繰り返していく)

時限性のPAM筋トレ(HIIT, インターバルトレーニング)は、短時間で最大の効果を出し切るそんなイメージです。

Let's pump up our security muscles!!!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.